/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.adsi.persistencia;

import com.adsi.modelo.Usuarios;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

/**
 *
 * @author Admin
 */
@Stateless
public class UsuariosDAO implements IUsuariosDAO {

    @PersistenceContext
    private EntityManager CRUD;

    @Override
    public void registrarUsuario(Usuarios usuario) {
        try {
            CRUD.persist(usuario);
        } catch (RuntimeException e) {
            throw e;
        }
    }

    @Override
    public void modificarUsuario(Usuarios usuario) {
        try {
            CRUD.merge(usuario);
        } catch (RuntimeException e) {
            throw e;
        }
    }

    @Override
    public void eliminarUsuario(Usuarios usuario) {
        try {
            CRUD.remove(usuario);
        } catch (RuntimeException e) {
            throw e;
        }
    }

    @Override
    public List<Usuarios> consultarUsuarios() {

        try {
            String consulta = "select u from Usuarios u";
            Query query = CRUD.createQuery(consulta);
            return query.getResultList();

        } catch (RuntimeException e) {
            throw e;
        }

    }

    @Override
    public Usuarios consultarPorCedula(long cedula) {
        try {
            return CRUD.find(Usuarios.class, cedula);
        } catch (RuntimeException e) {
            throw e;

        }
    }

    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")
}
